/**
 * HP Subscriber, Network, and Application Policy
 * <p/>
 * Copyright (C) 2009-2014 Hewlett-Packard Company
 */
package com.hp.snap.gr.task;

import java.util.HashMap;
import java.util.Map;
import com.hp.snap.gr.exception.ActionException;
import com.hp.snap.gr.exception.GRMException;
import com.hp.snap.gr.model.TaskTypes;

/**
 * GR manager task service, each task group should has a separate implementation, but each implementation shares the same logic
 * for executing an action plan, GR status management and etc.
 *
 * @author Joey Yi
 */
public interface GRMTaskService {

    /**
     * Execute/handle a task under task group
     *
     * @param taskType The task type with group info
     * @return task execution result
     * @throws com.hp.snap.gr.exception.GRMException
     */
    boolean handle(TaskTypes taskType) throws GRMException, ActionException;

    void setGlobalValue(String user, String password, String url1, String url2, String outputFileName,String taskId,String param);
}
